#include "String.h"
#include "String.h"

String::String(const char *str)
{
	if (str) {
		str_ = new char[strlen(str) + 1];
		strcpy_s(str_, strlen(str) + 1, str);
	}
	else
	{
		str_ = new char[1];
		str_[0] = '\n';
	}
}

String::String(const String &str)
{
	const char* t_str = str.str();
	str_ = new char[strlen(t_str) + 1];
	strcpy_s(str_, strlen(t_str) + 1, t_str);
}

String & String::operator=(const String & str)
{
	if (this == &str)
	{
		return *this;
	}
	delete[] str_;
	const char* t_str = str.str();
	str_ = new char[strlen(t_str) + 1];
	strcpy_s(str_, strlen(t_str) + 1, t_str);
	return *this;
}
std::ostream& operator<<(std::ostream& os, const String& str)
{
	return os << str.str();
}